package com.tbvtc.agriculturalcreditchainserver2025.entity.websocket;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * Redis 存储的聊天会话快照（Hash结构映射对象）
 * 用于缓存最新会话的关键信息，提升前端渲染效率
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RedisChatSnapshot {

    /**
     * 消息ID（关联数据库chat_message.id）
     */
    private Long msgId;

    /**
     * 消息内容（文本或缩略信息，如图片可存"[图片]"）
     */
    private String content;
    /**
     * 发送者id
     */
    private Integer senderId;

    /**
     * 发送者昵称
     */
    private String senderName;

    /**
     * 发送者头像URL
     */
    private String senderAvatar;

    /**
     * 发送时间戳（毫秒级，前端可直接转时间格式）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sendTime;

    /**
     * 接收者侧的未读消息数
     */
    private Integer unreadCount;
}